home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / jumpball.lha / Jumping_Balls.s < prev    next >
Encoding:
Text File  |  1980-01-01  |  2.8 KB  |  163 lines

  1. ;STERN.U NACH $50280
  2. STARTUP:
  3. MOVEM.L     D0-D7/A0-A6,-(A7)    
  4. LEA     $60000,A0
  5. MOVE.W     #$3000,D1
  6. CLEAR:     MOVE.W #$FFFF,(A0)+
  7.      DBRA D1,CLEAR
  8. MOVE.L     $4,A6        
  9. LEA     GFXNAME,A1             
  10. JSR     -408(A6)        
  11. MOVE.L     D0,GFXBASE        
  12. MOVE.L     $4,A6        
  13. MOVE.L     GFXBASE,A0        
  14. ADD.L     #$32,A0            
  15. MOVE.L     (A0),OLDCOPPER        
  16. MOVE.L     #LISTE,(A0)
  17. MOVE.W     #$0020,$DFF096 
  18. MOVE.L     #$8010,$DFF09A
  19. MOVE.L     $4,A6
  20. LEA     GFXNAME,A1
  21. JSR     -408(A6)
  22. MOVE.L     D0,GFXBASE
  23. MOVE.L     $4,A6
  24. JSR     -132(A6)
  25. MOVE.W     #$0020,$DFF09A
  26. MOVE.L     $6C,OLDIRQ
  27. MOVE.L   $68,OLDTASTIRQ
  28. MOVE.L   #NEWTASTIRQ,$68
  29. MOVE.L     #IRQNEW,$6C
  30. MOVE.W     #$8020,$DFF09A
  31. BRA     MOUSE
  32.  
  33. IRQNEW:
  34. MOVEM.L        D0-D7/A0-A6,-(SP)
  35. BSR.L        BLITOBJECT
  36. MOVEM.L        (SP)+,D0-D7/A0-A6
  37. DC.W        $4EF9
  38. OLDIRQ:
  39. DC.L    0
  40.  
  41. NEWTASTIRQ:
  42. MOVEM.L        D0-D7/A0-A6,-(SP)
  43. MOVEM.L        (SP)+,D0-D7/A0-A6
  44. DC.W        $4EF9
  45. OLDTASTIRQ:
  46. DC.L    0
  47. MOD: DC.L 0
  48. MOUSE:
  49. CMP.B     #$7F,$BFEC01
  50. BNE.S     MOUSE
  51. MOVE.L     $4,A6
  52. MOVE.L     GFXBASE,A1
  53. JSR     -414(A6)
  54. MOVE.L     GFXBASE,A0    
  55. ADD.L    #$32,A0        
  56. MOVE.W     #$0080,$DFF096    
  57. MOVE.L     OLDCOPPER,(A0)    
  58. MOVE.W     #$8080,$DFF096    
  59. MOVE.L     OLDIRQ,$6C
  60. MOVE.L   OLDTASTIRQ,$68
  61. MOVEM.L     (A7)+,D0-D7/A0-A6
  62. RTS
  63. LISTE:
  64. DC.W $0180,$0126
  65. R1:  DC.W $2B01,$FFFE
  66. DC.W $008E,$2C81,$0090,$24C1,    
  67. DC.W $0092,$0038,$0094,$00D0     
  68. DC.W $0102,$0000,$0180,$0126
  69. DC.W $0100,$2200
  70. DC.W $00E0,$0006,$00E2,$0000
  71. DC.W $00E4,$0006,$00E6,$0028
  72. DC.W $0182,$0FFF,$0184,$0FFF,$0186,$0F00
  73. DC.W $0108,$0028,$010A,$0028
  74. DC.W $FFFF,$FFFE 
  75. OLDCOPPER: DC.L 0
  76. GFXNAME: DC.B "graphics.library",0
  77. EVEN
  78. GFXBASE: DC.L 0
  79. POSX:   DC.L 0
  80. ADDIT:  DC.L 0
  81. CHANGEPOS:
  82.     MOVE.L    ZEIGER,$DFF050
  83.     MOVE.L    D1,$DFF054 
  84.     MOVE.L    #$FFFFFFFF,$DFF044     
  85.     MOVE.L    #$09F00000,$DFF040
  86.     MOVE.L    #$00200020,$DFF064
  87.                             ;123456
  88.     MOVE.W    #%0001111100000100,$DFF058
  89. BLT4:    BTST    #$06,$DFF002
  90.     BNE.S    BLT4
  91.     RTS
  92.     CMP.W    #$FFFF,MODE
  93.     BEQ     DOWN
  94.     ADD.L    #[16*80],ZEIGER
  95.     ADD.B    #1,COUNT
  96.     CMP.B    #10,COUNT
  97.     BNE.S    EXIT199
  98.     MOVE.W    #$FFFF,MODE
  99.     MOVE.B    #0,COUNT
  100.     RTS
  101. DOWN:    
  102.     SUB.L    #[16*80],ZEIGER
  103.     MOVE.L  #$50000,D1
  104.     CMP.L    ZEIGER,D1
  105.     BNE.S    EXIT199
  106.     MOVE.W    #$0000,MODE
  107. EXIT199:RTS
  108. ZEIGER:    DC.L    $50000
  109. MODE:    DC.W    0
  110. COUNT:    DC.B    0
  111. EVEN
  112. DELAY:    DC.W    0
  113. POS:    DC.L    0
  114. POSX2:    DC.L     0
  115. BLITOBJECT:
  116.     LEA    $60000+[10*80],A0
  117.     CLR.L    D0
  118.     CLR.L    D1
  119.     CLR.L    D2
  120.     MOVE.L  A0,D1
  121.     LEA    SINTAB,A1
  122.     ADD.L    POS,A1
  123.     MOVE.B    (A1),D0
  124.     MOVE.B    #80,D2
  125.     MULU    D0,D2
  126.     MOVE.L  #[80*100],D4
  127.     SUB.L    D2,D4
  128.     ADD.L    D4,D1
  129. NOCONT:    BSR.L    CHANGEPOS
  130.     ADD.L    #8,D1
  131.     ADD.L    #8,POSX2
  132.     CMP.L    #[1*8],POSX2
  133.     BNE.S    NOCONT
  134.     MOVE.L    #0,POSX2
  135. CONT2:    CMP.W    #0,UPN
  136.     BEQ.S    PP1
  137.     CMP.W    #1,UPN
  138.     BEQ.S    PP2
  139. PP1:    ADD.L    #2,POS
  140.     CMP.L    #60,POS
  141.     BEQ    PP1C
  142.     RTS
  143. PP1C:    MOVE.W    #1,UPN
  144.     RTS
  145. PP2:    SUB.L    #2,POS
  146.     CMP.L    #2,POS
  147.     BEQ    PP2C
  148.     RTS
  149. PP2C:    MOVE.W  #0,UPN
  150.     RTS
  151. UPN:    DC.W 0
  152.  
  153. SINTAB: 
  154. DC.B $68,$68,$68,$68,$68,$68,$67,$67,$66,$66
  155. DC.B $65,$64,$64,$63,$62,$61,$60,$5F,$5E,$5D
  156. DC.B $5B,$5A,$59,$57,$56,$54,$53,$51,$4F,$4E
  157. DC.B $4C,$4A,$48,$46,$45,$43,$41,$3E,$3C,$3A
  158. DC.B $38,$36,$34,$31,$2F,$2D,$2A,$28
  159. DC.B $26,$23,$21,$1E,$1C,$19,$14,$12,$0F,$0C
  160. DC.B $0A,$07,$05,$02,$00,
  161.  
  162.  
  163.